home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / swiotlb.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  2.2 KB  |  84 lines

  1. #ifndef __LINUX_SWIOTLB_H
  2. #define __LINUX_SWIOTLB_H
  3.  
  4. #include <linux/types.h>
  5.  
  6. struct device;
  7. struct dma_attrs;
  8. struct scatterlist;
  9.  
  10. extern void
  11. swiotlb_init(void);
  12.  
  13. extern void
  14. *swiotlb_alloc_coherent(struct device *hwdev, size_t size,
  15.             dma_addr_t *dma_handle, gfp_t flags);
  16.  
  17. extern void
  18. swiotlb_free_coherent(struct device *hwdev, size_t size,
  19.               void *vaddr, dma_addr_t dma_handle);
  20.  
  21. extern dma_addr_t
  22. swiotlb_map_single(struct device *hwdev, void *ptr, size_t size, int dir);
  23.  
  24. extern void
  25. swiotlb_unmap_single(struct device *hwdev, dma_addr_t dev_addr,
  26.              size_t size, int dir);
  27.  
  28. extern dma_addr_t
  29. swiotlb_map_single_attrs(struct device *hwdev, void *ptr, size_t size,
  30.              int dir, struct dma_attrs *attrs);
  31.  
  32. extern void
  33. swiotlb_unmap_single_attrs(struct device *hwdev, dma_addr_t dev_addr,
  34.                size_t size, int dir, struct dma_attrs *attrs);
  35.  
  36. extern int
  37. swiotlb_map_sg(struct device *hwdev, struct scatterlist *sg, int nents,
  38.            int direction);
  39.  
  40. extern void
  41. swiotlb_unmap_sg(struct device *hwdev, struct scatterlist *sg, int nents,
  42.          int direction);
  43.  
  44. extern int
  45. swiotlb_map_sg_attrs(struct device *hwdev, struct scatterlist *sgl, int nelems,
  46.              int dir, struct dma_attrs *attrs);
  47.  
  48. extern void
  49. swiotlb_unmap_sg_attrs(struct device *hwdev, struct scatterlist *sgl,
  50.                int nelems, int dir, struct dma_attrs *attrs);
  51.  
  52. extern void
  53. swiotlb_sync_single_for_cpu(struct device *hwdev, dma_addr_t dev_addr,
  54.                 size_t size, int dir);
  55.  
  56. extern void
  57. swiotlb_sync_sg_for_cpu(struct device *hwdev, struct scatterlist *sg,
  58.             int nelems, int dir);
  59.  
  60. extern void
  61. swiotlb_sync_single_for_device(struct device *hwdev, dma_addr_t dev_addr,
  62.                    size_t size, int dir);
  63.  
  64. extern void
  65. swiotlb_sync_sg_for_device(struct device *hwdev, struct scatterlist *sg,
  66.                int nelems, int dir);
  67.  
  68. extern void
  69. swiotlb_sync_single_range_for_cpu(struct device *hwdev, dma_addr_t dev_addr,
  70.                   unsigned long offset, size_t size, int dir);
  71.  
  72. extern void
  73. swiotlb_sync_single_range_for_device(struct device *hwdev, dma_addr_t dev_addr,
  74.                      unsigned long offset, size_t size,
  75.                      int dir);
  76.  
  77. extern int
  78. swiotlb_dma_mapping_error(struct device *hwdev, dma_addr_t dma_addr);
  79.  
  80. extern int
  81. swiotlb_dma_supported(struct device *hwdev, u64 mask);
  82.  
  83. #endif /* __LINUX_SWIOTLB_H */
  84.